/**
 * This is an interface representing the basic operations expected of
 * any implementation of a stack.
 *
 * @param <T> the type of elements in the stack
 * 
 * !!!!! DO NOT MODIFY THIS FILE !!!!!
 */
public interface MyStack<T>
{
	
	/**
	 * push -- Push the given element to the top of the stack
	 * @param element the element to be pushed to the stack
	 */
	public void push(T element);
	
	/**
	 * pop -- Pop the given element from the top of the stack
	 * @return the element popped from the stack
	 * @throws RuntimeException if the stack is empty
	 */
	public T pop();
	
	/**
	 * contains -- Determine if the stack contains the specified element
	 * @param element the element to check for
	 * @return true if the stack contains the element, false otherwise
	 */
	public boolean contains(T element);
	
	/**
	 * isEmpty -- Determine if the stack is currently empty
	 * @return true if nothing is in the stack, false otherwise
	 */
	public boolean isEmpty();
	
}
